home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Tele / C / Comet2.1.3.cpt / include / timer.h < prev    next >
Text File  |  1990-01-31  |  1KB  |  54 lines

  1. /*  Copyright 1983 by the Massachusetts Institute of Technology  */
  2.  
  3. /*
  4.     Copyright Cornell University 1986.  All rights are reserved.
  5.  
  6.     As of 4/10/86:
  7.     This source file may have no changes from the M.I.T original
  8.     other than this notice; but it has been tested as part of 
  9.     Cornell's Aztec-C port.  See notice.h
  10.  
  11. */
  12.  
  13. /* timer.h */
  14.  
  15. #ifndef _TIMERDEF
  16. #define _TIMERDEF
  17.  
  18. #include <q.h>
  19.  
  20. /* 
  21.    This file contains the declarations for the timer management package.
  22. */
  23.  
  24. #define    TPS     60                    /*  Clock  ticks per second.  */
  25.  
  26. typedef    unsigned nonce;            /* a timeout nonce */
  27.  
  28. typedef    struct    timer            /* a timer */
  29. {
  30.     struct q_elt tm_elt;    /* next element in lwa-queue */
  31.     unsigned long tm_time;    /* time the timer expires */
  32.     nonce tm_nonce;            /* nonce for this timer */
  33.     int    (*tm_subr) ();        /* subroutine to call on timeout */
  34.     char *tm_arg;            /* arg to pass to subr */
  35. } timer;
  36.  
  37. typedef    struct    time_q        /* the lwa-queue of active timers */
  38. {
  39.     timer    *tmq_head;        /* head of the timer lwa-queue */
  40.     timer    *tmq_tail;        /* tail of the timer lwa-queue */
  41.     int    tmq_len;            /* number of elements in lwa-queue */
  42.     unsigned tmq_max;
  43.     unsigned tmq_min;
  44. } time_q;
  45.  
  46.  
  47. timer *tm_alloc();
  48.  
  49. extern unsigned TIMERDEBUG;
  50.  
  51. extern char timertripped;    /* timer needs attention under MacTCP */
  52.  
  53. #endif
  54.